﻿//1461. 检查一个字符串是否包含所有长度为 K 的二进制子串
//给你一个二进制字符串 s 和一个整数 k 。
//如果所有长度为 k 的二进制字符串都是 s 的子串，请返回 true ，否则请返回 false 。


class Solution
{
public:
    unordered_set<string> table;
    bool hasAllCodes(string s, int k)
    {
        if (s.size() < (1 << k) + k - 1) return false;

        for (int i = 0; i <= s.size() - k; i++)
        {
            table.insert(s.substr(i, k));
        }

        return table.size() == (1 << k);
    }
};